The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Rapid control prototyping (RCP) is a process that allows engineers to develop, modify and test control strategies on a production system. RCP allows vehicle engineers, for example, to develop and test vehicle and system control strategies in a test lab prior to the production of a vehicle. A production system, such as an engine system, is operated and monitored to provide data in real-time or during the actual time over which a test process occurs. The data may be monitored by a RCP system and used by the vehicle engineer to modify and improve a particular control strategy. RCP allows for quick modifications to and testing of the control strategy. RCP decreases development and testing time.
A RCP system, such as a dSPACE™ system, typically includes a host computer and an off-target intermediate computer that communicates with a production controller. A system developer generates a RCP model to be tested on the host computer using a math modeling program, such as Simulink™. The RCP model includes a symbolic I/O block set that represents a control strategy. The control strategy or algorithm is developed as a symbolic model, as opposed to a set of codes, such as a series of instructions in C-code.
The host computer converts the RCP model into a compilable code, which is then cross-compiled to generate an executable program. The compilable code may be in, for example, C-code. The executable program is downloaded to the off-target intermediate computer. The compilable code is cross-compiled and linked with target specific code of the off-target intermediate computer. The target specific code may be associated with a scheduler, I/O routines, and communication routines specific to the off-target intermediate computer. The off-target intermediate computer is a stand-alone device with analog, digital and serial I/O links to communicate with the host computer and the production controller.
The off-target intermediate computer runs the executable program based on communication with the production controller. The executable program may be monitored and controlled by the host computer. For example, variables stored in memory of the production controller may be monitored, graphed, or logged. Gains of a control strategy may be tuned based on the monitored variables. Structure of the control strategy cannot be changed. When a block of the RCP model needs to be changed, for example, the RCP model is changed at the host computer and the build process to generate an executable program is repeated.
The production controller includes control software. The executable program is executed in cooperation with the control software. The control software may, for example, generate an execute signal and an information signal. The off-target intermediate computer executes the executable program based on the execute signal and the information signal. The information signal includes information needed by the off-target intermediate computer to execute the executable program, such as, addresses associated with sensor data. The off-target intermediate computer generates control signals based on the information signal and execution of the executable program. The control signals are provided to the production controller. The production controller operates a production system based on the control signals. Status data of the production system is fedback from the production controller to the host computer for monitoring and development purposes.